/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package bloquerpantalla;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import javax.swing.JFrame;

/**
 *
 * @author Juan
 */
public class Bloqueo {
   private JFrame ventana=null;

    public Bloqueo(JFrame f) {
        this.ventana=f;
    }
    /* ejecuta una tarea cada "n" tiempo para evitar que el usuario
    utilice las teclas (Windows + D, TAB ) y asi perder el foco de la aplicacion
    ,cada 50 milisegundos se envia el JFrame al frente y se cambia su propiedad a maximizado*/
    public void block(){
        ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
        scheduler.scheduleAtFixedRate(
        new Runnable() {

            @Override
            public void run() {
                front();
            }
            //comienza dentro de 1/2 segundo y luego se repite cada n segundos
        },500,50,TimeUnit.MILLISECONDS);
    }
    
    public void front(){
        //Maximiza la ventana
        ventana.setExtendedState(JFrame.MAXIMIZED_BOTH);
        ventana.toFront();
    } 
}
